package com.icangya.DAO;

import com.icangya.domain.RwGoodOrder;

import java.util.List;

public interface IRwGoodOrderDAO extends IBaseDAO<RwGoodOrder> {


    List<RwGoodOrder> getOrdersByUserId(long userid);


    List<RwGoodOrder> getRwGoodOrderByOrderId(String orderId);

    /**
     * 获取每个用户的当日成交量
     * @param uid
     * @return
     */
    Long getUserOrderCountByNow(long uid);

    List<RwGoodOrder> getOrderListByPayStataAndSendStatus(int payStatus,int sendStatus);

    /**
     * 根据用户Id 查询订单
     * @param uid
     * @param pageNum
     * @return
     */
    List<Object> findOrderByUserId(Long uid , Integer pageNum);

    /**
     * 查询代付款的订单信息
     * @param startPage  页码   分页查询
     * @return
     */
    List getGoodOrderByPayStatus(int startPage);


    /**
     * 根据发货状态查询订单信息
     * @param startPage   页码
     * @param sendStatus  发货状态
     * @return
     */
    List getGoodsOrderSendStatus(int sendStatus,int startPage);

    /**
     * 根据条件查询代付款的订单信息
     * @param orderId   订单号
     * @param startTime  开始时间
     * @param endTime  结束时间
     * @param nameOrPhone  收货人姓名或手机号
     * @param address   地址
     * @param goodName  商品名称
     * @param nickName  昵称
     * @param startPage  页码
     * @return
     */
    List getGoodsOrderPayStatusByCondition(String orderId,String startTime,String endTime,String nameOrPhone,String address,String goodName,
                                           String nickName,int startPage);

    /**
     * 根据条件查询是否收货的订单信息
     * @param orderId   订单号
     * @param startTime  开始时间
     * @param endTime  结束时间
     * @param nameOrPhone  收货人姓名或手机号
     * @param address   地址
     * @param goodName  商品名称
     * @param nickName  昵称
     * @param startPage  页码
     *@param sendStatus  收货状态
     * @return
     */
    List getGoodsOrderSendStatusByCondition(String orderId,String startTime,String endTime,String nameOrPhone,String address,String goodName,
                                            String nickName,int startPage,int sendStatus);
}
